#pragma once
#include "GameMir.h"

// CMapView
class CMapView : public CWnd
{
	DECLARE_DYNAMIC(CMapView)

public:
	CMapView(CGameMir& game);
	virtual ~CMapView();

protected:
	DECLARE_MESSAGE_MAP()
public:
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
	afx_msg void OnPaint();
	CDC m_DC;
private:
	bool m_DrawOk;
	static UINT DrawMapThread( LPVOID pParam );
	CGameMir& m_Game;
	DWORD m_W,m_H;
	std::string m_LastMap;
	std::vector<POINT> m_Path;
public:
	afx_msg void OnTimer(UINT nIDEvent);
	afx_msg void OnSize(UINT nType, int cx, int cy);
	afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
	afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
private:
	void ResetScroll(void);
public:
	afx_msg BOOL OnEraseBkgnd(CDC* pDC);
	void SetPath(std::vector<POINT> path);
public:
	afx_msg void OnMouseMove(UINT nFlags, CPoint point);
};


